The following abbreviations are herewith defined, at least some of which are referred to within the following description of the state-of-the-art and the present invention.    8PSK 8 Phase-Shift Keying    AWGN Additive White Gaussian Noise    AFC Automatic Frequency Control    BCH Bose Chaudhuri and Hocquenghem    BPSK Binary Phase Shift Keying    EDGE Enhanced Data GSM Environment    GMSK Gaussian Minimum Shift Keying    GSM Global System for Mobile Communications    IS-136 Interim Standard-136    ISI Inter-Symbol Interference    ISV Input Soft Values    JSV Joint Soft Values    LDPC Low Density Parity Check Code    LTE Long Term Evolution    MAP Maximum A Posteriori    MLSE Maximum Likelihood Sequence Estimation    OSV Output Soft Value    PSK Phase-Shift Keying    QAM Quadrature Amplitude Modulation    SI Side Information    SNR Signal-To-Noise Ratios    SOVA Soft-Output Viterbi Algorithm    SSV Single Soft Value    WCDMA Wideband Code Division Multiple Access
Referring to FIG. 1 (PRIOR ART), there is a basic diagram of a traditional wireless communication system 100 with a transmitter 102 (including an encoder 104, an interleaver 106 and a modulator 108) coupled by a channel 110 to a receiver 112 (including a demodulator 114, a deinterleaver 116 and a decoder 118). In operation, the encoder 104 receives a block of information bits 120 and protects those bits by mapping them into a larger block of modem bits 122. The encoder 104 can perform this by using an error control code such as a binary code, for example a BCH code, a LDPC code, a convolutional code, or a turbo code. The interleaver 106 receives the modem bits 120, changes the order/indices of the modem bits 120, and outputs re-ordered bits 122.
The modulator 108 receives the re-ordered bits 122 and uses a modulation constellation to output symbols 124. In particular, the modulator 108 uses the modulation constellation to map q consecutive bits into one of Q modulation symbols when generating the output symbols 124, where Q=2q. For instance, the modulator 108 can use a modulation constellation such as BPSK, with q=1 and Q=2, and 8PSK, with q=3 and Q=8. The modulator 108 may also perform a filtering operation to produce partial response signaling. In addition, the modulator 108 may also perform a coded modulation operation, where the mapping of the current q bits depends on previous bits. For simplicity, the description provided herein will assume an un-coded modulation scheme.
The channel 110 represents the effects of fading in a wireless medium, time dispersion, as well as additive noise and interference on the transmitted symbols 124. Thus, the demodulator 114 receives a signal 126 which has been subjected to ISI. The ISI may be due to the time dispersion over the wireless channel 110 and to the combined effects of partial response signaling and filtering at the transmitter 102 and filtering at the receiver 112.
The receiver 112 performs the demodulation operation and the decoding operation separately. First, the demodulator 114 accepts the received signal 126, handles the ISI, and outputs estimates of the modem bits 112 in the form of soft bit values 128. The soft bit values 128 indicate the reliability of individual modem bits 112. The deinterlcaver 116 receives the soft bit values 128 and changes their order/indices to be the reverse of that used by the interleaver 106. After de-interleaving, the re-ordered soft bit values 130 are fed to the decoder 118. The decoder 118 operates on the re-ordered soft bit values 130 to produce an estimate 132 of the information bits 120. Although, the deinterleaver 116 (and the corresponding interleaver 106) plays an important role in the performance of the wireless communication system 100, in the present context it is cumbersome and not relevant to the discussion herein to explicitly deal with the deinterleaver 116. Thus, from this point on it is assumed that the function of the deinterleaver 116 which is to change the order/indices in modem bits is handled properly and as a result the deinterleaver 116 will be absent in the following discussion and will not be illustrated in any of the remaining figures.
The separation of the demodulator 114 and the decoder 118 is not optimal, but it does allow for reasonable complexity in the receiver 112. It is well known from information theory that an optimal receiver 112 jointly performs the operations of demodulation and decoding. Unfortunately, the complexity of such a joint operation of the demodulation and decoding is generally exorbitant. But, it is possible to bridge part of the gap between the separate demodulation and decoding processes by using some form of interaction between the demodulator 114 and the decoder 118. One known technique is to feed back side information 134 from the decoder 118 to the demodulator 114, and iterate their respective processes a number of times. FIG. 2 (PRIOR ART) is a diagram of such a receiver 112 that implements this feedback technique which is known in the industry as a turbo receiver 112. The turbo receiver 112 has been tested in wireless communication systems 100 based on IS-136, GSM/EDGE, and WCDMA, with nice gains but at the expense of significant complexity increases.
The turbo receiver 112 works well but the re-use of the demodulator 114 is wasteful. For instance, in many wireless communication systems 100 Such as GSM/EDGE, the demodulator 114 is an equalizer, which dominates the complexity of the receiver 112. In particular, the equalizer 114 has multiple tasks that may be hard to dissociate since in addition to the main task of dealing with the ISI, the equalizer 114 may also handle channel tracking, AFC, noise whitening, etc. Plus, the storing of data required to re-run the equalizer 114 over and over in subsequent passes might be a problem. For instance, in EDGE, the decoder 118 accepts data from 4 bursts and to iterate between the decoder 118 and the equalizer 114, the received values for the 4 bursts would need to be stored.
One type of equalizer 114 that is used today is known as a Viterbi equalizer 114 which produces soft bit values 128 utilizing what is known as the “cheap SOVA” technique. Prior to describing the Viterbi equalizer 114 and the cheap SOVA technique it will first help to describe the model of the channel 110 in the wireless communication system 100. In this example, assume the transmitter 102 has a single transmit antenna 136 (but it could have multiple transmit antennas 136) and the receiver 112 has a single receive antenna 138 (but it could have multiple receive antennas 138). For a symbol-spaced channel 110 with memory M, there are M+1 channel taps HM,Λ,H0, where H1 describes the channel 110 at a delay of 1 symbols. The transmitted symbols 124 and received symbols 126 at index k are denoted sk and rk, respectively. The system model is given by:rk=HMsk−M+Λ+H1sk−1+H0sk+vk   (1)where vk represents the noise and by default assume this is an additive white Gaussian noise (AWGN) model.
The Viterbi equalizer 114 due to ISI needs to find the best sequence of symbols simultaneously. To accomplish this, the Viterbi equalizer 114 operates on a trellis which has L stages, indexed 0 to L with QM states, and QM+1 branches per stage. The Viterbi equalizer 114 is fed L received values r1,Λ,rL. The Viterbi state transition at time k is summarized in FIG. 3 (PRIOR ART). At index k, the Viterbi state represents M symbols as follows:Ŝk=(ŝk−M+1,Λ,ŝk)   (2).Stage k of the trellis describes the progression from state Ŝk−1 to state Ŝk. The branch from Ŝk−1 to Ŝk represents the symbol ŝk. Note that for the ISI trellis, all branches ending in Ŝk share the same symbol. Also note that their starting states Ŝk−1=(ŝk−M,Λ,ŝk−1) each have a distinct oldest symbol ŝk−M. For notational simplicity, the states have been labeled at each stage by an integer j between 0 and qM−1. Each j represents a distinct value of Ŝk. A branch is labeled by its starting and ending state pair (j′,j). For each state j, the fan-in l(j) and the fan-out O(j) are the set of incoming and outgoing branches, respectively. For the ISI trellis, all fan-in and fan-out sets have the same size Q.
For a branch with symbol ŝk in the fan-out of state Ŝk−1, the hypothesized received value is given by:{circumflex over (r)}k=HMŝk−M+Λ+H0ŝk   (3).
The received value rk is compared to {circumflex over (r)}k, to get the branch metric as follows:fk=∥rk−{circumflex over (r)}k∥2   (4).The branch metric has been explicitly labeled herein with the corresponding branch where necessary.
Without much loss of generality, it is assumed that the trellis starts at time 0 in state 0 and that the state metric computation proceeds forward from there. Thus, at time k, the state, or cumulative, metric Fk(j) of state j is given in terms of the state metrics at time k−1 and the branch metrics at time k are as follows:
                                          F            k                    ⁡                      (            j            )                          =                              min                                          j                ′                            ⁢                              el                ⁡                                  (                  j                  )                                                              ⁢                                    (                                                                    F                                          k                      -                      1                                                        ⁡                                      (                                          j                      ′                                        )                                                  +                                                      f                    k                                    ⁡                                      (                                                                  j                        ′                                            ,                      j                                        )                                                              )                        .                                              (        5        )            In addition, the state in l(j) that achieves the minimum is called the predecessor of state j, and denoted πk−1(j). Also, the oldest symbol ŝk−M in the corresponding M-tuple Ŝk−1 is the tentative symbol decision looking back from state j at time k.
Furthermore it is possible to trace back a sequence of the states to time 0, by following the chain λk−1(j), πk−2(λk−1(j)), etc. The corresponding symbols ŝk−m, ŝk−M−1, etc, are the tentative decisions of the MLSE when looking back from state j at time k. In general, looking back from different states at a certain stage, the decisions tend to agree more with the older the symbols. That is, the longer the delay for a decision, the better. Typically, there is a chosen delay decision D. The decision about the best state at stage k is made by tracing back from the state with the smallest state metric among the states at stage k+D (or at the last stage L, if L<k+D).
After the trace back, the best state at stage k is denoted φ. Looking back at its predecessor state πk−1(φ), the oldest symbol ŝk−M is considered corresponding to that state. There are q information bits that map into that symbol. A soft value 128 is computed for one of those bits, denoted x. For clarity, this soft value 128 is referred to herein as a single soft value (SSV). As discussed above, the modulation symbols are used to form the synthesized received values {circumflex over (r)}k, which produce the branch metric fk and state metric Fk(j). The focus of this discussion will now be on the information bit x.
The cheap SOVA technique for SSV generation has been tested extensively and implemented in products. It is surprisingly accurate and much less complex compared to MAP and SOVA techniques. The cheap SOVA technique is described herein first for a binary modulation, with q=1 and Q=2. For instance, the GMSK mode of GSM can be treated as a binary modulation. For Q=2, the standard binary trellis has 2 ending branches per state, and 2 starting branches per state. Since q=1, there is a single information bit x mapping into the binary symbol ŝk−M.
Referring to FIG. 4 (PRIOR ART), an isolated piece of the trellis is shown which has two branches that end in φ (assume j=φ). At index k−1, the two states connecting to φ, represent the potential decision about information bit x. The two states are denoted j′x according to their corresponding x values. To aid in the subsequent discussion about the present invention, a modified notation for the state metrics is used where E(φ)=Fk(φ), and:E′(x)=Fk−1(j′x)+fk(j′x,φ)   (6).Then, the state metric recursion (5) can be written as:E(φ)=min(E′(0),E′(1))   (7).According to the cheap SOVA technique, the SSV 128 for modem bit x is given by:λ=E′(1)−E′(0)   (8).
Thus a negative (positive) value of A indicates that information bit x is 1 (0). The aforementioned discussion described in detail the traditional turbo receiver 112 and its drawbacks such as its large complexity and large delay in the processing due to the feedback even when the Viterbi equalizer 114 and the cheap SOVA technique are used. Accordingly, there is a need for a new type of receiver that addresses these drawbacks and other drawbacks of the conventional turbo receiver. These needs and other needs are satisfied by the present invention.